<?php
// Formulaire de recherche avancée
// Paramètres du formulaire
// Récupération des contenus distincts dans une varible du nom du champ
foreach ($selectArray as $key=>$value){
	if (!isset($$value)){
		$$value = $a->selectDistinct($key, $from);
	}
	else {
		echo $$value.' est un nom de champ déjà utilisé dont la valeur est : '.$value;
		echo 'Veuillez changer le nom du champ ou la variable';
	}
}

// Résultat de la requête
if (isset($_GET['action'])){
	// Calcul de whereArray
	$whereLikeArray = array();
	foreach($_GET as $key=>$value){
		if(!empty($value) and array_key_exists($key, $selectArray))$whereLikeArray[$key]=$value;
	}
	// Combinaison des requêtes avec AND
	if(count($whereLikeArray) > 0){
		$whereLikeBool = 'AND';
		$whereLikeValue = $a->whereLikeValue($selectArray, $whereLikeArray, $whereLikeBool);

		// Nombre de notices
		$itemNumber = $a->itemNumber($from, $whereLikeValue);

		// Calcul des pages
		$pageNumber = ceil($itemNumber/$itemsPerPage);
		if(isset($_GET['page'])){
			$currentPage=intval($_GET['page']);
			if($currentPage > $pageNumber) {$currentPage=$pageNumber;}
		}
		else{$currentPage=1;}

		// Récupération requête
		$advRequestTable = $_GET;
		unset($advRequestTable['page']);
		$advRequest='';
		foreach($advRequestTable as $key=>$value){
			$advRequest.="&amp;$key=".urlencode($value);
		}

		// Navigation du haut
		$prev1=''; $prev2=''; $prev3='';
		$next1=''; $next2=''; $next3='';
		if($currentPage > 1) {
			$prev1='<a href="?'.$advRequest.'&amp;page=1" title="Premier">';
			$prev2='</a>';
			$prev3='<a href="?'.$advRequest.'&amp;page='.($currentPage-1).'" title="Précédent">';
		}
		if($currentPage < $pageNumber) {
			$next1='<a href="?'.$advRequest.'&amp;page='.($currentPage+1).'" title="Suivant">';
			$next2='</a>';
			$next3='<a href="?'.$advRequest.'&amp;page='.$pageNumber.'" title="Dernier">';
		}
		$simpleNavBar = $prev1.'<span>|&lt;</span>'.$prev2.$prev3.'<span>&lt;&lt;</span>'.$prev2.'Page '.$currentPage;
		$simpleNavBar .= $next1.'<span>&gt;&gt;</span>'.$next2.$next3.'<span>&gt;|</span>'.$next2;

		// Calcul barre de navigation bas
		$navBar = '';
		for($i=1; $i<=$pageNumber; $i++){
		     if($i==$currentPage) $navBar .= ' [ '.$i.' ] ';
		     else $navBar .= '<span><a href="?'.$advRequest.'&amp;page='.$i.'">'.$i.'</a></span>';
		}

		// Notices
		$firstItemNumber=($currentPage-1)*$itemsPerPage;
		$items = $a->items($from, $whereLikeValue, $orderBy, $firstItemNumber, $itemsPerPage);

	}
}
?>